/**
 * ajax 服务路由集合
 */

const router = require('koa-router')({
  prefix: '/weapp'
})
const controllers = require('../controllers')

// 从 sdk 中取出中间件
// 这里展示如何使用 Koa 中间件完成登录态的颁发与验证
const {
  auth: {
    authorizationMiddleware,
    validationMiddleware
  }
} = require('../qcloud')

// --- 登录与授权 Demo --- //
// 登录接口
router.get('/login', authorizationMiddleware, controllers.login)
// 用户信息接口（可以用来验证登录态）
router.get('/user', validationMiddleware, controllers.user)
// 存储用户数据
router.post('/saveUserInfo', controllers.saveUserInfo)

// --- 图片上传 Demo --- //
// 图片上传接口，小程序端可以直接将 url 填入 wx.uploadFile 中
router.post('/upload', controllers.upload)

// --- 信道服务接口 Demo --- //
// GET  用来响应请求信道地址的
router.get('/tunnel', controllers.tunnel.get)
// POST 用来处理信道传递过来的消息
router.post('/tunnel', controllers.tunnel.post)

// --- 客服消息接口 Demo --- //
// GET  用来响应小程序后台配置时发送的验证请求
router.get('/message', controllers.message.get)
// POST 用来处理微信转发过来的客服消息
router.post('/message', controllers.message.post)


// post  用来获取字典信息
router.post('/dict', controllers.dict)

// POST  发起微信支付请求 获取prepay_id
router.post('/wxPay', controllers.wxPay)
//   POST  微信支付回调
router.post('/payReturn', controllers.payReturn)

// 花费充值成功后数据存储
router.post('/addOrder', controllers.addOrder)
// 获取订单列表
router.get('/orderlist', controllers.orderlist)
// 统计数据
router.get('/analyze', controllers.analyze)

// 上传图片
router.post('/uploader', controllers.uploader)

// 上传语音
const voiceupload = require('../controllers/voiceupload')
router.use('/voiceupload', voiceupload.routes(), voiceupload.allowedMethods())

router.get('/swiperlist', controllers.swiperlist)

router.get('/config', controllers.config)

// 获取图片Exif信息
router.post('/getExifInfo', controllers.getExifInfo)
// 发红包
router.post('/redpacket', controllers.redpacket)
// 获取红包列表
router.get('/getRedPacket', controllers.getRedPacket)
// 添加视频
router.post('/addVideo', controllers.addVideo)
// 获取视频列表
router.get('/videoList', controllers.videoList)
// 上传视频
const multer = require('koa-multer'); //加载koa-multer模块
//文件上传
//配置
var storage = multer.diskStorage({
  //文件保存路径
  destination: function (req, file, cb) {
    cb(null, '../static/video/images')
  },
  //修改文件名称
  filename: function (req, file, cb) {
    var fileFormat = (file.originalname).split(".");
    cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]);
  }
})
//加载配置
var upload = multer({
  storage: storage
});
//路由
router.post('/imgUpload', upload.single('file'), async (ctx, next) => {
  ctx.body = {
    filename: `https://wx.2xur7.cn/static/video/images/${ctx.req.file.filename}` //返回文件名
  }
})

module.exports = router
